Sample 22

Run Data

---------------------------------------------------------------------------
PermissionError                           Traceback (most recent call last)
<ipython-input-6-ad7cd2665759> in <module>
----> 1 get_sample_rundata(sample_id)

c:\Users\roryl\Programming Offline\RLTools\RLtools\data_processing\stylusprofiler\surfaceprofile.py in get_sample_rundata(id)
     76     usecols = ['Sample# Res C', 'Process', 'carrier', 'HBr', 'Ar', 'Pressure mT',
     77        'RF Power', 'ICP power', 'Temp', 'Time (min)']
---> 78     df=pd.read_excel(xlfile, usecols=usecols)
     79 
     80     return df[df['Sample# Res C'] == id]

C:\ProgramData\Anaconda3\envs\env-pecvd\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
    297                 )
    298                 warnings.warn(msg, FutureWarning, stacklevel=stacklevel)
--> 299             return func(*args, **kwargs)
    300 
    301         return wrapper

C:\ProgramData\Anaconda3\envs\env-pecvd\lib\site-packages\pandas\io\excel\_base.py in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, storage_options)
    334     if not isinstance(io, ExcelFile):
    335         should_close = True
--> 336         io = ExcelFile(io, storage_options=storage_options, engine=engine)
    337     elif engine and engine != io.engine:
    338         raise ValueError(

C:\ProgramData\Anaconda3\envs\env-pecvd\lib\site-packages\pandas\io\excel\_base.py in __init__(self, path_or_buffer, engine, storage_options)
   1061             # path_or_buffer is path-like, use stringified path
   1062             ext = inspect_excel_format(
-> 1063                 path=str(self._io), storage_options=storage_options
   1064             )
   1065 

C:\ProgramData\Anaconda3\envs\env-pecvd\lib\site-packages\pandas\io\excel\_base.py in inspect_excel_format(path, content, storage_options)
    937 
    938     with get_handle(
--> 939         content_or_path, "rb", storage_options=storage_options, is_text=False
    940     ) as handle:
    941         stream = handle.handle

C:\ProgramData\Anaconda3\envs\env-pecvd\lib\site-packages\pandas\io\common.py in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)
    646         else:
    647             # Binary mode
--> 648             handle = open(handle, ioargs.mode)
    649         handles.append(handle)
    650 

PermissionError: [Errno 13] Permission denied: 'C:\\Users\\roryl\\CST Global Ltd\\Integration - Documents\\MLA2\\HBr trials\\Cobra HBr tests.xlsx'

Post Strip Micrograph

Dektak Pre/Post Resist Strip Comparison

Total depth after etching is 8.765 um
Calculated remaining resist as 8.29um, indicating an erosion of 0.46um in 10 minutes of etching
This equates to an erosion rate of 46 nm/min
The etch depth of 0.48um in 10 mins indicates an etch rate of 48.0nm/min
The selectivity is therefore 1.05:1
Result
Initial resist (um) 8.741000
Total depth after etch (um) 8.765100
Remaining resist (um) 8.285100
Semiconductor etched(um) 0.480000
Etch rate (nm/min) 48.000000
Erosion rate (nm/min) 45.590000
Selectivity 1.052862